Digital receivers are known in the art. As is known, such radios utilize a digital front end to sample a received signal at a sampling frequency (f.sub.s), thereby converting it to a digital bit stream that includes a desired modulated information signal at an IF frequency (f.sub.IF). The front end may, for example, utilize a bandpass sigma-delta A/D converter to perform these functions.
The bit stream is then input to a complex bandpass FIR digital filter whose response is symmetric about f.sub.IF. This filter limits decimation-generated aliasing, and its output has both real (in-phase) and imaginary (quadrature) components. Finally, additional mixing and low pass filtering may be provided. The resulting baseband signal may then be demodulated.
Prior art complex digital filters have been implemented by providing a sample (containing a predetermined number of bits) from the input bit stream and using this sample as an address to "look up" the desired real and imaginary outputs from a read-only memory (ROM). One problem with this approach, however, has been the resulting size of the ROM required to implement the desired filter. One factor contributing to the ROM requirement, of course, is the filter's output is complex. Therefore, the ROM must have sufficient capacity to store both a real output and an imaginary output corresponding to a single filter input. The result is, of course, that the required ROM may become excessive.
As an example, consider the situation where the desired signal is at f.sub.s /32 and that a decimation by 8 is to be performed. In this case, 7 alias frequency bands exist centered at 5f.sub.s /32, 9f.sub.s /32, 13f.sub.s /32, 17f.sub.s /32, 21f.sub.s /32, 25f.sub.s /32, and 29f.sub.s /32. The filter zeros are placed at these frequencies. The order of each zero is dependent upon the bandwidth of the desired signal and the amount of alias noise that can be tolerated. If f.sub.s =14.4 MHz and we assume 3rd order zeros are required at all alias frequencies, a 22 tap FIR filter is required. This equates to a ROM look-up filter whose inputs are 22-bit addresses. The output of the filter can take on at most only 2.sup.22 states, representing all possible combinations of the filter coefficients as combined according to the 22-bit input vector. If a 19-bit ROM filter output is required for dynamic range and filter sensitivity, the ROM would appear to require approximately 159 MBits (2.sup.22 real words @ 19 bits per word plus 2.sup.22 imaginary words @ 19 bits per word). This example demonstrates that ROM storge capacity requirement may effectively prohibit a complex bandpass filter design for a digital receiver.
As a result, there is a need for an improved complex bandpass digital filter.